home *** CD-ROM | disk | FTP | other *** search
- On Sun, 10 May 1998, Wojciech Kocjan wrote:
-
- > Potrzebuje, azeby biblioteka stworzyla wlasne zadanie. Nie wiem tylko z
- > czego skorzystac - z funkcji CreateTask() z amiga.lib czy jakiejs funkcji z
- > exec.library?
-
- Nie pamietam zbyt dobrze, ale w exec.library to chyba nie ma specjalnie
- wielkiego wyboru? Jest AddTask(), ale to jest cholernie nieskopoziomowe.
- Wydaje mi sie, ze tylko CreateTask() Ci zostaje, albo cos z dos.library
- (CreateNewProc()), choc nie wiem, czy mozesz z dos.library korzystac, bo
- funkcja biblioteczna moze byc wywolana z poziomu tasku, nie procesu.
-
- > Jedyne, co mi przyszlo do glowy to napisac prosta procke w asemblerze, ktory
- > otworzy owa biblioteke i odwola sie do funkcji w bibliotece, ktora bedzie
- > glowna czescia tego zadania. To jest chyba bardzo bezpieczne.
-
- Nie mam pojecia, o czym mowisz. Po co Ci ten asembler? Czy ta procka to ma
- byc zewnetrzny program, uzywajacy biblioteki? Po co wywolanie funkcji z
- biblioteki?
-
- > Tylko wtedy jest jeden problem: co jesli program uruchamiajacy zadanie
- > zakonczy sie (czyli zamknie biblioteke) i w tym czasie zostanie ona usunieta
- > (np. C:Avail FLUSH). Calkiem mozliwe, ze wtedy caly system sie sypnie.
- > Oczywiscie owa procka w asemblerze otworzy ta biblioteke, ale tak czy owak
- > przez pewien okres czasu OpenCount bedzie rowny 0.
-
- Nie traktuj OpenCnt z takim nabozenstwem. Jezeli to Ty piszesz biblioteke,
- to Ty takze implementujesz LIB_EXPUNGE. OpenCnt jest w gruncie rzeczy do
- Twojego uzytku i mozesz go po prostu zignorowac, nawet jezeli jest rowny
- 0. Albo mozesz z poziomu programu otworzyc biblioteke, ale jej przy
- wychodzeniu nie zamykac: wtedy OpenCnt bedzie zawsze >=1. Tak wiec nie
- widze tu zadnego problemu.
-
- / Kamil Iskra - AMIGA 1200, 68030 50MHz, HDD 1.6 GB, 18 MB RAM \
- | iskra@student.uci.agh.edu.pl kiskra@ernie.icslab.agh.edu.pl |
- | http://student.uci.agh.edu.pl/~iskra |
- \ PGP public key available via Finger or WWW /
-
-
-
-
-